package AnnotationExamples.annotationUtil;

import java.lang.annotation.*;

/**
 * 自定义注解
 * 元注解 meta-annotation @target @retention
 * <p>
 * target 来定义你要把注解用在什么地方
 * retention 用来定义你把注解用在哪一个级别【可用】  【源代码source中、类文件中class、运行时runtime】
 */
@Target(ElementType.METHOD)
// 表示需要在什么级别保存改注解信息
// RetentionPolicy.RUNTIME // 注解在运行期间也会保留，因此可以利用反射机制来读取注解的信息
// RetentionPolicy.CLASS  // 注解在class文件中可用，但是会被JVM丢弃
// RetentionPolicy.SOURCE //注解将被编译器丢弃
@Retention(RetentionPolicy.RUNTIME)
// 本注解会被包含在javadoc中
@Documented
// 允许子类继承父类中的注解
@Inherited
public @interface MetaAnnotationExample {

}
